import request from '@/utils/request'

// ==================== 系统配置管理 ====================

/**
 * 获取系统配置列表
 */
export function getConfigList(params) {
  return request({
    url: '/api/system/config/list',
    method: 'get',
    params
  })
}

/**
 * 根据ID获取系统配置
 */
export function getConfigById(id) {
  return request({
    url: `/api/system/config/${id}`,
    method: 'get'
  })
}

/**
 * 根据配置键获取配置值
 */
export function getConfigValue(configKey) {
  return request({
    url: `/api/system/config/value/${configKey}`,
    method: 'get'
  })
}

/**
 * 创建系统配置
 */
export function createConfig(data) {
  return request({
    url: '/api/system/config/create',
    method: 'post',
    data
  })
}

/**
 * 更新系统配置
 */
export function updateConfig(data) {
  return request({
    url: '/api/system/config/update',
    method: 'put',
    data
  })
}

/**
 * 删除系统配置
 */
export function deleteConfig(id) {
  return request({
    url: `/api/system/config/${id}`,
    method: 'delete'
  })
}

/**
 * 刷新配置缓存
 */
export function refreshConfigCache() {
  return request({
    url: '/api/system/config/refresh-cache',
    method: 'post'
  })
}

/**
 * 获取配置状态
 */
export function getConfigStatus() {
  return request({
    url: '/api/system/config/status',
    method: 'get'
  })
}

// ==================== 系统监控管理 ====================

/**
 * 获取系统监控数据
 */
export function getSystemMonitor() {
  return request({
    url: '/api/system/monitor/current',
    method: 'get'
  })
}

/**
 * 获取系统监控历史数据
 */
export function getSystemMonitorHistory(params) {
  return request({
    url: '/api/system/monitor/history',
    method: 'get',
    params
  })
}

// ==================== 系统日志管理 ====================

/**
 * 获取系统日志列表
 */
export function getSystemLogList(params) {
  return request({
    url: '/api/system/log/list',
    method: 'get',
    params
  })
}

/**
 * 清理系统日志
 */
export function cleanSystemLogs(params) {
  return request({
    url: '/api/system/log/clean',
    method: 'post',
    params
  })
}

// ==================== 登录日志管理 ====================

/**
 * 获取登录日志列表
 */
export function getLoginLogList(params) {
  return request({
    url: '/api/system/login-log/list',
    method: 'get',
    params
  })
}

/**
 * 清理登录日志
 */
export function cleanLoginLogs(params) {
  return request({
    url: '/api/system/login-log/clean',
    method: 'post',
    params
  })
}
